﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Data.Entity;
using Phones.Models;

namespace Phones.DataLayer
{
    public class DataInitializer
    {
        public DataInitializer()
        {
            _context = DataLayer.Database.ReadOnlyContext;

            //SeedContact();
            //SeedPerson();
            SeedTreeElement();
        }

        private PhonesEntities _context;

        //private void SeedContact()
        //{
        //    _context.Contacts.Add(
        //        new Contact()
        //        {
        //            Name = "Оператор ПЭВМ"
        //        });
        //    _context.Contacts.Add(
        //        new Contact()
        //        {
        //            Name = "Программист"
        //        });
        //    _context.Contacts.Add(
        //        new Contact()
        //        {
        //            Name = "Инженер-программист"
        //        });
        //    _context.SaveChanges();
        //}

        //private void SeedPerson()
        //{
        //    _context.Persons.Add(
        //        new Person()
        //        {
        //            FName = "Игорь" ,
        //            MName = "Сергеевич" ,
        //            LName = "Кротов"
        //        });

        //    _context.Persons.Add(
        //        new Person()
        //        {
        //            FName = "Татьяна" ,
        //            MName = "Леопольдовна" ,
        //            LName = "Синицина"
        //        });

        //    _context.Persons.Add(
        //        new Person()
        //        {
        //            FName = "Виктор" ,
        //            MName = "Викторович" ,
        //            LName = "Ульянов"
        //        });
        //    _context.SaveChanges();
        //}

        private void SeedTreeElement()
        {
            TreeElement root = _context.TreeElements.FirstOrDefault(x => x.Parent == null);
            if (root == null)
            {
                root = new TreeElement()
                        {
                            Name = "Корневой узел",
                            Parent = null
                        };
                _context.TreeElements.Add(root);
            }

            if (root.Children.Count == 0)
            {
                var subNode1 = new TreeElement()
                    {
                        Name = "Витебск"
                    };
                root.Children.Add(subNode1);

                var subNode2 = new TreeElement()
                    {
                        Name = "Полоцк"
                    };
                root.Children.Add(subNode2);

                var subNode11 = new TreeElement()
                {
                    Name = "ИВЦ Витебск"
                };

                var subNode12 = new TreeElement()
                {
                    Name = "ИВЦ Витебск"
                };
            }

            _context.SaveChanges();
        }

        private void SetRelations()
        {
        }
    }
}